#include "timer.h"
#include <ctime>

Timer::Timer()
{
	gettimeofday(&inicio, NULL);
	atual = inicio;
}

Timer::~Timer()
{
}

void Timer::seta()
{
	gettimeofday(&atual, NULL);
}


void Timer::reseta()
{
	gettimeofday(&inicio, NULL);
	atual = inicio;
}

bool Timer::passou(int milisegundos)
{
	timeval tmp;
	
	gettimeofday(&ocupante, NULL);
	timersub(&ocupante, &atual, &tmp);

	if ( tmp.tv_sec*1000 + tmp.tv_usec/1000 >= milisegundos )
		return true;
	else
		return false;
#if 0

	if (tmp >= (double)milisegundos)
		return true;
	else return false;

	if (  (int)(((clock() - atual)/(float)CLOCKS_PER_SEC)*1000)  >= milisegundos )
		return true;
	else
		return false;
#endif
}

bool Timer::passouInicio(int milisegundos)
{
	timeval tmp;
	
	gettimeofday(&ocupante, NULL);
	timersub(&ocupante, &inicio, &tmp);

	if ( tmp.tv_sec*1000 + tmp.tv_usec/1000 >= milisegundos )
		return true;
	else
		return false;
}

